package com.zsc.newbuds.service;

import com.zsc.newbuds.entity.Admin;

import java.util.HashMap;
import java.util.List;

/**
 * @author D
 */
public interface AdminService {

    HashMap<String, Object> getStatistic();

    /**
     * 通过账号获取用户
     * @param account
     * @return
     */
    Admin getAdminByAccount(String account);

    /**
     * 获取今年每月回收衣服的金额
     * @return
     */
    double[] getMoneyOfMonth();

    /**
     * 获取本周捐赠统计
     * @return
     */
    HashMap<String, Object[]> getDonationStatistic();

    /**
     * 更新头像
     * @param adminId
     * @param adminImage
     */
    void updateImage(Integer adminId,String adminImage);

    /**
     * 修改密码
     * @param admin
     * @return
     */
    Admin updateAdmin(Admin admin);

    /**
     * 判断账号是否存在
     * @param account
     * @return
     */
    int judgeAccount(String account);

    /**
     * 增加员工
     * @param admin
     */
    void addAdmin(Admin admin);

    /**
     * 获取员工列表
     * @param position
     * @return
     */
    List<Admin> getWorkList(String position);

    /**
     * 获取志愿者
     * @param position
     * @return
     */
    List<Admin> getVolunteerList(String position);

    /**
     * 获取所有的员工
     * @return
     */
    List<Admin> getAdminList();

    /**
     * 删除管理员
     * @param adminId
     */
    void deleteAdmin(Integer adminId);

    /**
     * 删除志愿者
     * @param adminId
     */
    public void deleteVolunteer(Integer adminId);

    /**
     * 增加志愿者
     * @param admin
     * @return
     */
    Admin addVolunteer(Admin admin);


    /**
     * 更新员工工作分配状态
     * @param idList
     * @param workArea
     */
    void updateWorkSate(String[] idList,String workArea);

    /**
     * 获取指定管理员信息
     * @param adminId
     * @return
     */
    Admin getAdminInfo(Integer adminId);

    /**
     * 开启定时任务设置首页的表格数据
     */
    void setData();
}
